package org.zjx.log;

/**
 * 日志级别枚举，表示日志的不同级别。
 */
public enum LogLevel {

    /**
     * 调试级别：用于开发和调试阶段，记录详细的诊断信息。
     * 这些信息通常用于排查问题，比如方法调用、变量值等。
     * 通常不会在生产环境中启用，因为它们可能会生成大量的日志数据。
     */
    DEBUG,

    /**
     * 信息级别：表示系统的常规信息或操作过程，记录正常的应用程序运行信息。
     * 例如：系统启动、用户登录、处理某个请求等。这些信息用于记录系统的正常行为或状态。
     */
    INFO,

    /**
     * 警告级别：表示出现了可能会导致问题的情况，但程序仍然能够继续运行。
     * 警告通常是非致命的，可以被忽略，或者只是提示有潜在问题存在。
     * 例如：某些配置不规范、调用已废弃的 API 等，但不会影响程序继续运行。
     */
    WARN,

    /**
     * 错误级别：表示程序发生了错误，通常是导致某个功能无法正常运行的问题。
     * 此类日志需要引起开发人员的注意，因为错误可能会影响用户的正常操作或系统的核心功能。
     * 例如：数据库连接失败、文件无法读取、请求处理出错等。
     */
    ERROR,

    /**
     * 致命级别：表示严重的错误，通常是程序崩溃或无法恢复的故障。
     * 这类日志通常是最严重的，意味着应用程序可能会退出或处于不可用状态。
     * 例如：内存溢出、系统崩溃、致命的异常等。
     */
    FATAL
}
